@import "../../themes/ionic.globals.wp";

// Windows Alerts
// --------------------------------------------------

/// @prop - Background of the alert backdrop
$alert-wp-backdrop-background:                 #fff !default;

/// @prop - Width of the alert
$alert-wp-width:                               100% !default;

/// @prop - Max width of the alert
$alert-wp-max-width:                           520px !default;

/// @prop - Border width of the alert
$alert-wp-border-width:                        1px !default;

/// @prop - Border style of the alert
$alert-wp-border-style:                        solid !default;

/// @prop - Border color of the alert
$alert-wp-border-color:                        color($colors-wp, primary) !default;

/// @prop - Border radius of the alert
$alert-wp-border-radius:                       0 !default;

/// @prop - Background color of the alert
$alert-wp-background:                          #e6e6e6 !default;

// deprecated
$alert-wp-head-padding:                        null !default;

/// @prop - Padding top of the alert head
$alert-wp-head-padding-top:                    20px !default;

/// @prop - Padding end of the alert head
$alert-wp-head-padding-end:                    22px !default;

/// @prop - Padding bottom of the alert head
$alert-wp-head-padding-bottom:                 5px !default;

/// @prop - Padding start of the alert head
$alert-wp-head-padding-start:                  22px !default;

/// @prop - Text align of the alert head
$alert-wp-head-text-align:                     start !default;

/// @prop - Font size of the alert title
$alert-wp-title-font-size:                     20px !default;

/// @prop - Font weight of the alert title
$alert-wp-title-font-weight:                   400 !default;

/// @prop - Font size of the alert sub title
$alert-wp-sub-title-font-size:                 16px !default;

// deprecated
$alert-wp-message-padding:                     null !default;

/// @prop - Padding top of the alert message
$alert-wp-message-padding-top:                 0 !default;

/// @prop - Padding end of the alert message
$alert-wp-message-padding-end:                 22px !default;

/// @prop - Padding bottom of the alert message
$alert-wp-message-padding-bottom:              8px !default;

/// @prop - Padding start of the alert message
$alert-wp-message-padding-start:               22px !default;

// deprecated
$alert-wp-message-padding-empty:               null !default;

/// @prop - Padding top of the alert empty message
$alert-wp-message-empty-padding-top:           0 !default;

/// @prop - Padding end of the alert empty message
$alert-wp-message-empty-padding-end:           $alert-wp-message-empty-padding-top !default;

/// @prop - Padding bottom of the alert empty message
$alert-wp-message-empty-padding-bottom:        $alert-wp-message-empty-padding-top !default;

/// @prop - Padding start of the alert empty message
$alert-wp-message-empty-padding-start:         $alert-wp-message-empty-padding-end !default;

/// @prop - Text color of the alert message
$alert-wp-message-text-color:                  #000 !default;

/// @prop - Font size of the alert message
$alert-wp-message-font-size:                   13px !default;

/// @prop - Maximum height of the alert content
$alert-wp-content-max-height:                  240px !default;

// deprecated
$alert-wp-input-margin:                        null !default;

/// @prop - Margin top of the alert input
$alert-wp-input-margin-top:                    5px !default;

/// @prop - Margin end of the alert input
$alert-wp-input-margin-end:                    0 !default;

/// @prop - Margin bottom of the alert input
$alert-wp-input-margin-bottom:                 5px !default;

/// @prop - Margin start of the alert input
$alert-wp-input-margin-start:                  0 !default;

// deprecated
$alert-wp-input-padding:                       null !default;

/// @prop - Padding top on the alert input
$alert-wp-input-padding-top:                   0 !default;

/// @prop - Padding end on the alert input
$alert-wp-input-padding-end:                   8px !default;

/// @prop - Padding bottom on the alert input
$alert-wp-input-padding-bottom:                $alert-wp-input-padding-top !default;

/// @prop - Padding start on the alert input
$alert-wp-input-padding-start:                 $alert-wp-input-padding-end !default;

/// @prop - Border width of the alert input
$alert-wp-input-border-width:                  2px !default;

/// @prop - Border style of the alert input
$alert-wp-input-border-style:                  $alert-wp-border-style !default;

/// @prop - Border color of the alert input
$alert-wp-input-border-color:                  $input-wp-border-color !default;

/// @prop - Border color of the alert input when focused
$alert-wp-input-border-color-focused:          color($colors-wp, primary) !default;

/// @prop - Line height of the alert input
$alert-wp-input-line-height:                   3rem !default;

/// @prop - Color of the text in the alert input
$alert-wp-input-text-color:                    #000 !default;

// deprecated
$alert-wp-button-padding:                      null !default;

/// @prop - Padding top of the alert button
$alert-wp-button-padding-top:                  5px !default;

/// @prop - Padding end of the alert button
$alert-wp-button-padding-end:                  $alert-wp-button-padding-top !default;

/// @prop - Padding bottom of the alert button
$alert-wp-button-padding-bottom:               $alert-wp-button-padding-top !default;

/// @prop - Padding start of the alert button
$alert-wp-button-padding-start:                $alert-wp-button-padding-end !default;

/// @prop - Width of the alert button
$alert-wp-button-width:                        49.5% !default;

/// @prop - Border radius of the alert button
$alert-wp-button-border-radius:                0 !default;

/// @prop - Font weight of the alert button
$alert-wp-button-font-weight:                  400 !default;

/// @prop - Color of the text in the alert button
$alert-wp-button-text-color:                   #000 !default;

/// @prop - Background color of the alert button
$alert-wp-button-background:                   #b8b8b8 !default;

/// @prop - Background color of the activated alert button
$alert-wp-button-background-activated:         color-shade($alert-wp-button-background) !default;

// deprecated
$alert-wp-button-margin-right:                 1% !default;
/// @prop - Margin end of the alert button
$alert-wp-button-margin-end:                   $alert-wp-button-margin-right !default;

$alert-wp-button-group-padding:                null !default;

/// @prop - Padding top of the alert button group
$alert-wp-button-group-padding-top:            20px !default;

/// @prop - Padding end of the alert button group
$alert-wp-button-group-padding-end:            22px !default;

/// @prop - Padding bottom of the alert button group
$alert-wp-button-group-padding-bottom:         20px !default;

/// @prop - Padding start of the alert button group
$alert-wp-button-group-padding-start:          22px !default;


/// @prop - Justify content of the alert button group
$alert-wp-button-group-justify-content:        flex-end !default;

/// @prop - Flex wrap of the alert button group
$alert-wp-button-group-flex-wrap:              wrap-reverse !default;

/// @prop - Vertical width of the vertical alert button group
$alert-wp-button-group-vertical-width:         100% !default;

/// @prop - Margin top of the vertical alert button group
$alert-wp-button-group-vertical-margin-top:    5px !default;


/// @prop - Background color of the radio alert
$alert-wp-radio-background:                    color($colors-wp, primary) !default;

/// @prop - Border color of the radio alert
$alert-wp-radio-border-color:                  $input-wp-border-color !default;

// deprecated
$alert-wp-radio-label-padding:                 null !default;

/// @prop - Padding top of the label for the radio alert
$alert-wp-radio-label-padding-top:             13px !default;

/// @prop - Padding end of the label for the radio alert
$alert-wp-radio-label-padding-end:             26px !default;

/// @prop - Padding bottom of the label for the radio alert
$alert-wp-radio-label-padding-bottom:          $alert-wp-radio-label-padding-top !default;

/// @prop - Padding start of the label for the radio alert
$alert-wp-radio-label-padding-start:           $alert-wp-radio-label-padding-end !default;


/// @prop - Text color of the label for the radio alert
$alert-wp-radio-label-text-color:              initial !default;

/// @prop - Text color of the label for the checked radio alert
$alert-wp-radio-label-text-color-checked:      $alert-wp-button-text-color !default;

/// @prop - Top of the radio alert
$alert-wp-radio-top:                           0 !default;

/// @prop - Left of the radio alert
$alert-wp-radio-left:                          13px !default;

/// @prop - Width of the radio alert
$alert-wp-radio-width:                         16px !default;

/// @prop - Height of the radio alert
$alert-wp-radio-height:                        16px !default;

/// @prop - Border width of the radio alert
$alert-wp-radio-border-width:                  2px !default;

/// @prop - Border style of the radio alert
$alert-wp-radio-border-style:                  solid !default;

/// @prop - Border radius of the radio alert
$alert-wp-radio-border-radius:                 50% !default;

/// @prop - Border color of the radio alert
$alert-wp-radio-border-color:                  $input-wp-border-color !default;

/// @prop - Top of the icon in the radio alert
$alert-wp-radio-icon-top:                      2px !default;

// deprecated
$alert-wp-radio-icon-left:                     2px !default;
/// @prop - Start of the icon in the radio alert
$alert-wp-radio-icon-start:                    $alert-wp-radio-icon-left !default;

/// @prop - Width of the icon in the radio alert
$alert-wp-radio-icon-width:                    8px !default;

/// @prop - Height of the icon in the radio alert
$alert-wp-radio-icon-height:                   8px !default;

/// @prop - Border radius of the icon in the radio alert
$alert-wp-radio-icon-border-radius:            $alert-wp-radio-border-radius !default;

// deprecated
$alert-wp-checkbox-label-padding:              null !default;

/// @prop - Padding top of the label for the checkbox in the alert
$alert-wp-checkbox-label-padding-top:          13px !default;

/// @prop - Padding end of the label for the checkbox in the alert
$alert-wp-checkbox-label-padding-end:          26px !default;

/// @prop - Padding bottom of the label for the checkbox in the alert
$alert-wp-checkbox-label-padding-bottom:       $alert-wp-checkbox-label-padding-top !default;

/// @prop - Padding start of the label for the checkbox in the alert
$alert-wp-checkbox-label-padding-start:        $alert-wp-checkbox-label-padding-end !default;

/// @prop - Text color of the label for the checkbox in the alert
$alert-wp-checkbox-label-text-color:           initial !default;

/// @prop - Text color of the label for the checked checkbox in the alert
$alert-wp-checkbox-label-text-color-checked:   initial !default;

/// @prop - Top of the checkbox in the alert
$alert-wp-checkbox-top:                        0 !default;

/// @prop - Left of the checkbox in the alert
$alert-wp-checkbox-left:                       13px !default;

/// @prop - Width of the checkbox in the alert
$alert-wp-checkbox-width:                      16px !default;

/// @prop - Height of the checkbox in the alert
$alert-wp-checkbox-height:                     16px !default;

/// @prop - Border width of the checkbox in the alert
$alert-wp-checkbox-border-width:               2px !default;

/// @prop - Border style of the checkbox in the alert
$alert-wp-checkbox-border-style:               solid !default;

/// @prop - Border radius of the checkbox in the alert
$alert-wp-checkbox-border-radius:              0 !default;

/// @prop - Border color of the checkbox in the alert
$alert-wp-checkbox-border-color:               $input-wp-border-color !default;

/// @prop - Background color of the checkbox in the alert when off
$alert-wp-checkbox-background-off:             transparent !default;

/// @prop - Background color of the checkbox in the alert when on
$alert-wp-checkbox-background-on:              color($colors-wp, primary) !default;

/// @prop - Top of the icon in the checkbox alert
$alert-wp-checkbox-icon-top:                   -2px !default;

// deprecated
$alert-wp-checkbox-icon-left:                  3px !default;
/// @prop - Start of the icon in the checkbox alert
$alert-wp-checkbox-icon-start:                 $alert-wp-checkbox-icon-left !default;

/// @prop - Width of the icon in the checkbox alert
$alert-wp-checkbox-icon-width:                 6px !default;

/// @prop - Height of the icon in the checkbox alert
$alert-wp-checkbox-icon-height:                12px !default;

/// @prop - Border width of the icon in the checkbox alert
$alert-wp-checkbox-icon-border-width:          1px !default;

/// @prop - Border style of the icon in the checkbox alert
$alert-wp-checkbox-icon-border-style:          solid !default;

/// @prop - Border color of the icon in the checkbox alert
$alert-wp-checkbox-icon-border-color:          color-contrast($colors-wp, $alert-wp-checkbox-background-on) !default;

/// @prop - Transform of the icon in the checkbox alert
$alert-wp-checkbox-icon-transform:             rotate(45deg) !default;


.alert-wp ion-backdrop {
  background: $alert-wp-backdrop-background;
}

.alert-wp .alert-wrapper {
  @include border-radius($alert-wp-border-radius);

  width: $alert-wp-width;
  max-width: $alert-wp-max-width;

  border: $alert-wp-border-width $alert-wp-border-style $alert-wp-border-color;
  background: $alert-wp-background;
}

// Windows Alert Header
// --------------------------------------------------

.alert-wp .alert-head {
  @include text-align($alert-wp-head-text-align);

  @include deprecated-variable(padding, $alert-wp-head-padding) {
    @include padding($alert-wp-head-padding-top, $alert-wp-head-padding-end, $alert-wp-head-padding-bottom, $alert-wp-head-padding-start);
  }
}

.alert-wp .alert-title {
  font-size: $alert-wp-title-font-size;
  font-weight: $alert-wp-title-font-weight;
}

.alert-wp .alert-sub-title {
  font-size: $alert-wp-sub-title-font-size;
}


// Windows Alert Message
// --------------------------------------------------

.alert-wp .alert-message,
.alert-wp .alert-input-group {
  color: $alert-wp-message-text-color;

  @include deprecated-variable(padding, $alert-wp-message-padding) {
    @include padding($alert-wp-message-padding-top, $alert-wp-message-padding-end, $alert-wp-message-padding-bottom, $alert-wp-message-padding-start);
  }
}

.alert-wp .alert-message {
  max-height: $alert-wp-content-max-height;

  font-size: $alert-wp-message-font-size;
}

.alert-wp .alert-message:empty {
  @include deprecated-variable(padding, $alert-wp-message-padding-empty) {
    @include padding($alert-wp-message-empty-padding-top, $alert-wp-message-empty-padding-end, $alert-wp-message-empty-padding-bottom, $alert-wp-message-empty-padding-start);
  }
}


// Windows Alert Input
// --------------------------------------------------

.alert-wp .alert-input {
  border: $alert-wp-input-border-width $alert-wp-input-border-style $alert-wp-input-border-color;
  line-height: $alert-wp-input-line-height;
  color: $alert-wp-input-text-color;

  @include deprecated-variable(margin, $alert-wp-input-margin) {
    @include margin($alert-wp-input-margin-top, $alert-wp-input-margin-end, $alert-wp-input-margin-bottom, $alert-wp-input-margin-start);
  }

  @include deprecated-variable(padding, $alert-wp-input-padding) {
    @include padding($alert-wp-input-padding-top, $alert-wp-input-padding-end, $alert-wp-input-padding-bottom, $alert-wp-input-padding-start);
  }
}

.alert-wp .alert-input:focus {
  border-color: $alert-wp-input-border-color-focused;
}


// Windows Alert Radio/Checkbox Group
// --------------------------------------------------

.alert-wp .alert-radio-group,
.alert-wp .alert-checkbox-group {
  position: relative;
  overflow: auto;

  max-height: $alert-wp-content-max-height;
}

.alert-wp .alert-tappable {
  position: relative;
  display: flex;

  overflow: hidden;

  // TODO this should be a variable that matches item
  min-height: 4.4rem;
}


// Windows Alert Radio Label
// --------------------------------------------------

.alert-wp .alert-radio-label {
  overflow: hidden;

  flex: 1;

  text-overflow: ellipsis;
  white-space: nowrap;

  color: $alert-wp-radio-label-text-color;

  @include deprecated-variable(padding, $alert-wp-radio-label-padding) {
    @include padding($alert-wp-radio-label-padding-top, $alert-wp-radio-label-padding-end, $alert-wp-radio-label-padding-bottom, $alert-wp-radio-label-padding-start);
  }
}

// Windows Alert Radio Unchecked Circle
// ---------------------------------------------------

.alert-wp .alert-radio-icon {
  @include position($alert-wp-radio-top, null, null, $alert-wp-radio-left);
  @include margin(0);
  @include border-radius($alert-wp-radio-border-radius);

  position: relative;
  display: block;

  width: $alert-wp-radio-width;
  height: $alert-wp-radio-height;

  border-width: $alert-wp-radio-border-width;
  border-style: $alert-wp-radio-border-style;
  border-color: $alert-wp-radio-border-color;
}

// Windows Alert Radio Checked Dot
// ---------------------------------------------------

.alert-wp .alert-radio-inner {
  @include position($alert-wp-radio-icon-top, null, null, $alert-wp-radio-icon-start);
  @include border-radius($alert-wp-radio-icon-border-radius);

  position: absolute;
  display: none;

  width: $alert-wp-radio-icon-width;
  height: $alert-wp-radio-icon-height;

  background: $alert-wp-radio-background;
}

// Windows Alert Radio Checked
// ---------------------------------------------------

.alert-wp [aria-checked=true] .alert-radio-label {
  color: $alert-wp-radio-label-text-color-checked;
}

.alert-wp [aria-checked=true] .alert-radio-icon {
  border-color: $alert-wp-radio-border-color;
}

.alert-wp [aria-checked=true] .alert-radio-inner {
  display: block;
}


// Windows Alert Checkbox Label
// --------------------------------------------------

.alert-wp .alert-checkbox-label {
  overflow: hidden;

  flex: 1;

  text-overflow: ellipsis;
  white-space: nowrap;

  color: $alert-wp-checkbox-label-text-color;

  @include deprecated-variable(padding, $alert-wp-checkbox-label-padding) {
    @include padding($alert-wp-checkbox-label-padding-top, $alert-wp-checkbox-label-padding-end, $alert-wp-checkbox-label-padding-bottom, $alert-wp-checkbox-label-padding-start);
  }
}

.alert-wp [aria-checked=true] .alert-checkbox-label {
  color: $alert-wp-checkbox-label-text-color-checked;
}

// Windows Alert Checkbox Outline: Unchecked
// --------------------------------------------------

.alert-wp .alert-checkbox-icon {
  @include position($alert-wp-checkbox-top, null, null, $alert-wp-checkbox-left);
  @include border-radius($alert-wp-checkbox-border-radius);

  position: relative;

  width: $alert-wp-checkbox-width;
  height: $alert-wp-checkbox-height;

  border-width: $alert-wp-checkbox-border-width;
  border-style: $alert-wp-checkbox-border-style;
  border-color: $alert-wp-checkbox-border-color;
  background: $alert-wp-checkbox-background-off;
}

// Windows Alert Checkbox Outline: Checked
// --------------------------------------------------

.alert-wp [aria-checked=true] .alert-checkbox-icon {
  border-color: $alert-wp-checkbox-background-on;
  background: $alert-wp-checkbox-background-on;
}

// Windows Alert Checkbox Checkmark: Checked
// --------------------------------------------------

.alert-wp [aria-checked=true] .alert-checkbox-inner {
  @include position($alert-wp-checkbox-icon-top, null, null, $alert-wp-checkbox-icon-start);

  position: absolute;

  width: $alert-wp-checkbox-icon-width;
  height: $alert-wp-checkbox-icon-height;

  border-width: $alert-wp-checkbox-icon-border-width;
  border-top-width: 0;
  border-left-width: 0;
  border-style: $alert-wp-checkbox-icon-border-style;
  border-color: $alert-wp-checkbox-icon-border-color;
  transform: $alert-wp-checkbox-icon-transform;
}


// Windows Alert Button
// --------------------------------------------------

.alert-wp .alert-button-group {
  flex-wrap: $alert-wp-button-group-flex-wrap;
  justify-content: $alert-wp-button-group-justify-content;

  @include deprecated-variable(padding, $alert-wp-button-group-padding) {
    @include padding($alert-wp-button-group-padding-top, $alert-wp-button-group-padding-end, $alert-wp-button-group-padding-bottom, $alert-wp-button-group-padding-start);
  }
}

.alert-wp .alert-button-group-vertical .alert-button {
  @include margin($alert-wp-button-group-vertical-margin-top, null, null, null);

  width: $alert-wp-button-group-vertical-width;
}

.alert-wp .alert-button-group-vertical .alert-button:first-child:not(:only-child) {
  @include margin(0, 0, null, null);
}

.alert-wp .alert-button {
  @include border-radius($alert-wp-button-border-radius);

  width: $alert-wp-button-width;

  font-weight: $alert-wp-button-font-weight;
  color: $alert-wp-button-text-color;
  background: $alert-wp-button-background;

  @include deprecated-variable(padding, $alert-wp-button-padding) {
    @include padding($alert-wp-button-padding-top, $alert-wp-button-padding-end, $alert-wp-button-padding-bottom, $alert-wp-button-padding-start);
  }
}

.alert-wp .alert-button:first-child:not(:only-child) {
  @include margin-horizontal(null, $alert-wp-button-margin-end);
}

.alert-wp .alert-button.activated {
  background: $alert-wp-button-background-activated;
}
